Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make RemoteDandiset.get_version() return a VersionInfo instance with validation error fields #1210

Merged
merged 3 commits into from
Feb 8, 2023

Conversation

jwodder
Copy link
Member

@jwodder jwodder commented Feb 8, 2023

Closes #1206.

@jwodder jwodder added patch Increment the patch version when merged Python API labels Feb 8, 2023
@codecov
Copy link

codecov bot commented Feb 8, 2023

Codecov Report

Base: 89.19% // Head: 89.22% // Increases project coverage by +0.03% 🎉

Coverage data is based on head (f1d752b) compared to base (4ccbe12).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1210      +/-   ##
==========================================
+ Coverage   89.19%   89.22%   +0.03%     
==========================================
  Files          76       76              
  Lines        9487     9488       +1     
==========================================
+ Hits         8462     8466       +4     
+ Misses       1025     1022       -3     
Flag Coverage Δ
unittests 89.22% <100.00%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
dandi/dandiapi.py 87.67% <100.00%> (+0.44%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@@ -650,6 +650,23 @@ def __str__(self) -> str:
return self.identifier


class ValidationError(APIBase):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
class ValidationError(APIBase):
class RemoteValidationError(APIBase):
"""
.. versionadded:: 0.49.0
Validation Error record obtained from a server. To not to be confused with
:class:`dandi.validate_types.ValidationResult` which provides richer representation
of validation errors.

as most of the constructs in this file have Remote in them. (note that sphinx ref to class might be wrong, typing from memory of how those are done)

But I also wonder if may be ValidationResult could just be used here instead?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if switch to ValidationResult I would just keep all errors (for version and assets) in a single list but with a proper scope annotation within each ValidationResult.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if switch to ValidationResult I would just keep all errors (for version and assets) in a single list

That's not really up to us; the API returns the errors in two separate fields, and it wouldn't be worth the hassle to change that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done: f1d752b

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well, we have those super-powers I would say, but ok -- let's stay close to the original return structure at this level.

dandi/dandiapi.py Outdated Show resolved Hide resolved
jwodder and others added 2 commits February 8, 2023 14:15
Co-authored-by: Yaroslav Halchenko <debian@onerussian.com>
@yarikoptic yarikoptic merged commit 4920831 into master Feb 8, 2023
@yarikoptic yarikoptic deleted the gh-1206 branch February 8, 2023 20:17
@github-actions
Copy link

🚀 PR was released in 0.49.0 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
patch Increment the patch version when merged Python API released
Projects
None yet
Development

Successfully merging this pull request may close these issues.

allow retrieving validation errors
2 participants